23

» WarCraft 3 / Импорт интерфейса

Похожие вопросы:

ответ
Берешь, заходишь в Менеджер импорта (F12 вроде), ищешь свою модель, это легко сделать. Тогда ПКМ -> Експортировать и следи, чтобы расширение файла било mdx.
Ты експортировал модель. Также ескпортируй все эти tga, как оказалось сама модель их требует и без них не даже в редакторе не откроется.
Теперь в новой карте в менджере импорта импортируешь модель и все tga. Прописываешь для всех tga и модели те же пути, иначе может не запустится.
Тогда пункт верхнего меню в основном окне редактора Дополнительно -> интерфейс, ищешь "Модель - кнопка приказа(перезарядка)" и меняешь на свою. Всё готово.
Прилагаю карту, в которую перемещал.
ответ
Ятд что не хватило мипмапов.
ответ
Для отображения интерфейса необходима только модель, не нужно для ее роботы новых текстур.
ВарКрафт ссылается на модели для отображения гемплея, а в свою очередь модели ссылаются на текстуры.
Хитрость в том что можна создавать 15 моделей с одинаковыми текстурами.
ответ
я могу попробовать написать программу, которая возьмет из wts перекинет строки в mapSkin

т.е в mapSkin изначально было вот так:
KEY_QUESTS=TRIGSTR_197

А в wts вот так:
STRING 197
{
Информация
}

В итоге в mapSkin станет вот так:
KEY_QUESTS=Информация

Но не раньше чем через 30/60 минут, я занят сейчас
ответ
Посмотри бэкапы из JNGP.
C:\Program Files (x86)\Jass New Gen Pack Rebuild\backups

23

» WarCraft 3 / Анимация, да-да

Похожие вопросы:

ответ
Насколько я помню анимация рубится с SetUnitX только если она установлена через SetUnitAnimation.
Если юзать SetUnitAnimationByIndex, все должно быть нормально.
Статья про SetUnitAnimationByIndex - xgm.ru/p/wc3/play_animation
ответ
закрыт по таймауту
ответ
Если его будут бить сразу 5 юнитов или больше, и при этом он ещё и сам атакует?
Обычно всякие щиты эффектом делают
ответ
Проверь, я удалил тебе это анимку через mdlvis

Удалял через эту программу
По поводу звука не подскажу, надо искать, но я бы попробовал найти ту модель где есть звук стрельбы при атаке и посмотреть как там сделано
ответ
Чтобы узнать кото ударили сплешем, оттолкнуть и уронить нужно:
  1. Отловить урон
  2. Оттолкнуть юнитов
  3. Воспроизвести анимацию по индексу

23

» WarCraft 3 / Постройка альянса

Похожие вопросы:

ответ
Можно воспользоваться FSGUI или DGUI, но это довольно сложные системы.
ответ
А в чём вопрос то?
ответ
Давай разберём моё решение (ответ номер 2), я его не раскрыл полностью потому что ждал наводящих вопросов, но ты его проигнорировал, потому что не понял ни слова?
Ответ номер 3, тебе рассказали тоже самое, но более расширенно и даже карту приложили
Ответ номер 8, про спеллбуки, снова тоже решение отлично, но ты его игнорируешь и спрашиваешь про постройку зданий альянса
Не понятно что такое спеллбук? (это дефолтный скил предмета "книга заклинаний"), мы же тебя не тролим, а отвечаем конкретными решениями, но если у тебя настолько глобальное непонимание, что ты даже не знаешь как задать следующий вопрос, мб тебе не стоит заниматься варкрафт моддингом?
И ТУТ не надо быть программистом, просто тыкаешь кнопочки и задаешь след вопросы:
  • А что такое этот ваш спеллбук спеллбук?
  • а как мне добавить 4?
  • а как сделать чтобы не было слияния заклинаний
  • а как сделать, чтобы по активации заклинания происходило изучение исследования?
  • а продажу юнита?
  • а каст способности?
  • а постройку?
Мы не бежим тебе делать готовую карту/наработку ибо:
  • на это нужно время, даже продвинутым (от получаса до 3х в зависимости от концентрации)
  • карту можно сделать а ты пропадёшь даже лайк не поставив или даже не прочитав
  • получи ты готовое, то ты вообще ничего не поймёшь тогда и станешь паразитом, человеком который отнимает время других людей и эти люди делают ему карту по чуть чуть, есть люди, которые занимаются таким паразитизмом около 10 лет, не буду говорить имена, меня сразу все поняли о ком я

23

» WarCraft 3 / нужно модел из 1.26

Похожие вопросы:

ответ
Я призываю берги!
Ась, что кого? для 126 отслеживание выделения в группе только на мемхаке, чистый 126 лесом, на рефордже через GetChild, вот ссылка, надо скопипастить на русском на Xgm
Но если принебречь этим множественным выбором и представить что выбор единичный
Тогда на гуи всё есть и получиться
C - Юнит выбран
У - Юнит такой-то, способность такая то есть, владелец выбранного=владелец выбирающего
Д -
set s = "" s = string
if p = GetLocalPlayer() then
set s = "Тут\\Типа\\Адрес\\Модели.mdx"
endif
call СоздатьСпецэффект(s,x,y) x,y - координаты, либо вместо них точка, либо виджет

а если по поводу вопроса
Но не понимаю, как именно применить тут эту систему
Система уже расписана, суть в том что у локального игрока создастся эффект с моделью, а у остальных с пустышкой и они ничего не увидят

set s = "" s = string пустышка

if p = GetLocalPlayer() then -- если локальный игрок тогда
set s = "Тут\\Типа\\Адрес\\Модели.mdx" -- модель уже не пустышка

23

» WarCraft 3 / как создать способность 2.0

Похожие вопросы:

ответ
Потому что приказ один и тот же. Разные способности морфа дай. Допустим морф сфинкса и морф друида-ворона.
ответ
создать дамми с временем жизни
приказать заюзать скил
что тут можно не уметь?
ответ
bifurcated, вот сделал наработку что то в роде того что ты хочеш только желательно доработать... но с этим сам почитай статьи
ах забыл рекомендую делать подобные скилы на основе "Канал"
ответ
Вот это чо за рак мозга? Какие еще локалки в фильтре с ифами? Ну с таким не удивительно что не работает.
Да всё работает, вообще-то
quq_CCCP:
Примерно так слабо?
И в чём смысл делать глобалку, а не просто писать тогда уж сразу GetFilterUnit( )
Я сдеал локалку, чтобы вместо GetFilterUnit( ) писать то, что мне нужно, в данном случае CLONE
quq_CCCP:
Потом клонов от способностей ищут не так,
Да так и я их могу найти
Точнее не совсем так, я их искал через Юнит входит в Область ( Игровая зона )
Но искать их в другом триггере и сдругим событием мне нафиг не нужно.
Мне нужно найти иллюзии сразу в триггере со способностью, чтобы потом не было геморроя
========================
И ещё раз повторюсь, что при повторном использовании способности, 2 прошлые иллюзии (да и вообще в принципе если рядом с гером будут другое любое ко-во иллюзий) перемещаются к противнику. Но две новосозданные остаются на месте.
Так же повторюсь, что когда проверка была IsUnitIllusion == false, то иллюзии определяло как не иллюзии!
Все кто пытались помочь, похоже проигнорировали это замечание...
========================
Мой вывод таков: Иллюзиям, призванным через стандартную Способность (Предмет: Иллюзии) присваивается статус иллюзий слегка позже, чем происходит проверка.
С другой стороны, скорее всего это может и можно как-то обойти, ведь есть карты примеры, где подобное работает нужным образом.
О том, как устроены чёртовы способности близов стоит только догадываться =\
К счастью Способность (Предмет: Иллюзии) не наносит 0.00 урона, и за это близам огромное спасибо (что у меня в очередной раз не бомбануло)
А вообще, проще по-моему сделать свою игру, чем нормальную карту в варкрафте -_-
ответ
Вот типы урона "Огня преисподней":
if BlzGetEventAttackType( ) == ConvertAttackType( 0 ) and BlzGetEventDamageType( ) == ConvertDamageType( 8 ) and BlzGetEventWeaponType( ) == ConvertWeaponType( 0 ) then
Bergi_Bear, ну там же всё интуитивно понятно:
BlzGetEventAttackType( ) - возвращает тип атаки.
BlzSetEventAttackType( ) - меняет тип атаки.

23

» WarCraft 3 / Как настроить такой триггер?

Похожие вопросы:

ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
это?
и подставлять это условие потом, там где атаки задаются
ответ
фатал на GetTrigger* че-то там
ааа, это у тебя в Player() попало что-то отличное от 0-15, потому и вылет
ответ
Лучше сделать не чтобы орда добиралась до здания , а чтобы уничтожала его. Иначе будут люди , которые просто будут идти напролом и какой то юнит всё равно пройдет и активирует победу.
ответ
желательно без Jass
Что вам jass плохого сделал? Ну и ладно, вот вам lua:
---@param texFile string
---@return boolean
function BlzChangeMinimapTerrainTex(texFile) end

23

» WarCraft 3 / Почему?

Похожие вопросы:

ответ
потому что фактический размер не совпадает с картой путей. хватит использовать бета редактор, и вопросов не возникнет
ответ
Это баг Warcraft 3 Reforget
Юзай озвучку кентавров, и тогда будет работать.
ответ
Порча это особый тип земли, который распространяется поверх обычной (заменяя её).
И поэтому в игре тайлы порчи часто могут занимать ещё и соседние участки.
Оптимальный вариант уйти от этой механики - заменить стандартный тайл порчей (текстуру подменить)... т.е. вместо "травы" будет текстура "порчи" (так можно сразу 2-3 порчи в одну карту добавить).
ответ
мб отслеживать приказы, какие приказы будут у работника по 100% хп здания?
Или дамиком построить здание, и отказатся строить, у всех игроков - работники альянса (иначе это не пашет) при ремонте здания союзника, если больше никтот не чинит, здание делать за того кто чинит, если бросил чинить (работник отдал любой другой приказ или умер) вернуть в нейтрала, ну и так далее.
ответ
а у тебя точно рефордж? хз может это для луа попробуй просто
call UnitApplyTimedLife( u, 'BTLF', 3 )

23

» WarCraft 3 / РУ ЭДитор

Похожие вопросы:

ответ
Привет, Аскарто. :) Короче, в объект едиторе сторожевая башня - обычная башня альянса с анимациями upgrade, first.
Прописывать в строке Графика - нужная анимация.

23

» WarCraft 3 / Как создать способность

Похожие вопросы:

ответ
Короче, я закрою вопрос. Закажу в акции буйство спелмейкера.
ответ
Вот держи. За подробностями в вк можешь обратится и если такое дело помогу доработаю систему на jass ( мой вк - vk.com/id446544976 )
ответ
XGM Bot:
Похожие вопросы:

ответ
  1. прячем героя, вешаем дамми или эффект на цель
делаем проверку на нейтрала, если да - даем контроль и скилл для выхода
  1. при событии входа в регион делаем проверку на наличие предмета
если есть - делаем нужное действие

все необходимые действия и проверки есть в триггерах
если попытки действительно имели место - в студию

ответ
Macghoul, с помощью триггеров, конечно возможно - в доте же как то сделали?
Но если вы вчера уселись за редактор - вам рано думать о таком, по сути метеорит инвокера - это два юнита, один падающий камень, второй катящийся. Сама кнопка - основана на способности - Канал, т.е просто кнопка для тыканья, которая грубо говоря кроме как тратить ману и указывать цель ни на что ни годна. При нажатии кнопки создается юнит с моделю падающего метеорита (вроде модель лежит в архивах игры, для роликов кампании юзалось как эффект), потом стоит таймер 1.35 сек, который как раз формирует задержку чтобы метеорит визуально упал, после пеовый метеорит удаляется и создается второй, которого двигают и наносят урон всем юнитам вокруг, отдельная система из триггера формирует дебафф горения от метеорита. Там все на jass и средний уровень кодерства, вокер не очень простой герой для копипаста, лучше скопируйте леорика или ликана.
ответ
Всё по старому, даммикаст + способов реализаци куча. Самое главное это отследить событие ядовидой ловушки, тут 3 самых очевидных варианта:
  1. Ловушка умерла, значит активировалась, если же сделано на основе колдовской оглушающей ловушки
  2. Вражеский юнит вошел в зону ловушки
  3. Периодическим триггером перебираем юнитов вокруг ловушки в момент её установки и до тех пор пока они жива, как только найден враг ловушка активирована.
Все 3 варианта в свей степени верны и имеют место быть, тут уже зависит от того в какой врубишься
Ну и действие.
Даммикаст отравленного ножа или любого другого яда на каждого юнита в зоне поражения
О дамми кастах всё находим через поиск

23

» WarCraft 3 / Жар преисподней (отловить урон)

Принятый ответ
Похожие вопросы:

ответ
Вот типы урона "Огня преисподней":
if BlzGetEventAttackType( ) == ConvertAttackType( 0 ) and BlzGetEventDamageType( ) == ConvertDamageType( 8 ) and BlzGetEventWeaponType( ) == ConvertWeaponType( 0 ) then
Bergi_Bear, ну там же всё интуитивно понятно:
BlzGetEventAttackType( ) - возвращает тип атаки.
BlzSetEventAttackType( ) - меняет тип атаки.

23

» WarCraft 3 / Не отображаются модели

Похожие вопросы:

ответ
A) Текстуру модели бросил с правильным путем в папку вара а в карту не импортировал или не изменил путь на правильный
Б) Если дерево стандартное то у него много вариаций а модель теперь другая без вариаций (???)
ответ
Держи. Там были использованы несколько лишних текстур (я так понимаю из вова).
Один вопрос, тупа интересна - что ты делал? "Чего только не делал, однако всё об стенку горох."
ответ
~8gabriel8:
В целом ты прав, что текстура не должна много весить, но это необязательно. К тому же конкретно трудно выбрать лучший вариант, может быть сильное сжатие больше напрягает процессор, а потеря качества будет заметна в игре. Но определённо любая текстура в игре не должна быть размером больше 512х512, большего размера будут лишь терять в качестве при отображении, при этом для моделей оптимальным будет размер 256х256, так как 512х512 используется в основном для интерфейса и загрузочных экранов, то есть при максимально необходимой детализации. Размеры текстуры должны быть степенью двойки: 512\256\128\64\32\16\8\4\2, чтобы игра не вылетала, если настройки графики не максимальные, а такое бывает при установке игры по умолчанию, либо после переустановки винды. При сохранении в BLP Laboratory нужно выбирать blp1, так как blp2 вроде предназначен для WoW и может не отображаться в варике, при этом опыт привёл меня к заключению, что лучше сохранять текстуры с качеством 75%, а не 80%, так как это заметно делает размер меньше, но почти никогда не заметить потери качества. Но это не оптимальный вариант, однажды встречал текстуру отличного качества и меньшего размера, которая занимала больше места и явно теряло качество, когда сохранял её со своими параметрами, не смог понять, как это сделали.
ответ
Потому что варик не воспринимает анимации с вымудренными названиями. Переименовывай их в mdlvize под корректные, используя, например, spell one/two/three/four/five spell channel + эти же 1-5, spell slam, и радуйся жизни.

23

» WarCraft 3 / Вопрос по мемхаку.

Похожие вопросы:

ответ
фатал после игры может быть вызван
а) использованием malloc
б) копированием внутриигровых структур (например, структуру сплеша перенес от одного юнита другому, при чистке один раз адрес зачистился, а на втором проходе произошел краш)
в) неизвестным мне образом
ответ
Сделай сам.
ответ
DracoL1ch:
офсет 2589 *4 , я ж только что сказал
Всё, немного поковырявшись у меня получилось, нужно было еще (id * 4) еще раз умножить на 4. Теперь строки извлекает идеально.
Если кому-то интересно, выглядит это вот так:
	DWORD ReadPointer(DWORD addr)
	{
		return *(DWORD*)(addr);
	}

	DWORD GetJassContext(int id)
	{
		DWORD pJassEnvAddress = DWORD(GetModuleHandle(TEXT("Game.dll"))) + 0xADA848;
		return ReadPointer(ReadPointer(ReadPointer(ReadPointer(pJassEnvAddress) + 0x14) + 0x90) + id * 4);
	}

	DWORD GetStringTable()
	{
		DWORD pJassContext = GetJassContext(1);
		return ReadPointer(ReadPointer(pJassContext + 0x2874) + 0x8);
	}

	std::string from_jString(jString jstrHandle)
	{
		DWORD pStringTable = GetStringTable();
		const char* sptr = (const char*)ReadPointer(ReadPointer(pStringTable + ((jstrHandle * 4)*4) + 0x8) + 0x1C);
		return sptr;
	}
ответ
Ну содержимое у restore само собой разное, в детекте урона новый хук на выход, вам нужна функция загрузки библиотеки?
Это же дело над:

function LoadLibrary takes string nDllName returns integer
    if pLoadLibraryA == 0 then
        set pLoadLibraryA = GetModuleProcAddress("Kernel32.dll", "LoadLibraryA" )
    endif
    if pLoadLibraryA != 0 then
        return CallStdcallWith1Args(pLoadLibraryA,GetStringAddress(nDllName))
    endif
 
    return 0
endfunction
ответ
Вводим в поиск XGM слово "мемхак"
Получаем результаты мемхак
Для самых новичков специально делал
там по максимуму разжевано
А как пользоваться?
Да никак, потому что нет мемхаке смены Описания Предмета, есть только смена описания способности...Но она фаталит при смене способности выше 2 уровня, А для второй не завезли

Но если разобраться можно самому всё сделать

По примеру способности это выглядело бы так
Если функция такая
function SetAbilityUbertip takes integer id, integer lvl, string s returns boolean
    return SetAbilityStringParam2(id,0x158, s, lvl)
endfunction
То чтобы поменять описание надо было сделать
SetAbilityUbertip(ID  способности или предмета, уровень (для предмета не будет уровня), описание)

quq_CCCP, если я не прав, то покажи функцию смены тултипа предмета для любой версии

А ещё судя по тому что смена тултипа не предусматривает юнита или конкретный хендл предмета, значить описание меняется глобально, и нужно использовать либо Гетлокал плеер либо работать с разными копиями предмата/способности
Всё тоже самое применимо к смене описания на Рефордж патче, но там по проще это всё делается

23

» WarCraft 3 / Проблема с озвучкой

Похожие вопросы:

ответ
я писал что прелоадить этой функцией нужно раза 2-3
ответ
"Набор звуков" нельзя сделать через триггеры, но можно попробовать через импорт файлов заменить стандартные файлы в уже существующих наборах.
Для этого импортируемому файлу надо прописать путь заменяемого.
ответ
~8gabriel8:
Это особенность патча 1.30, на 1.26 всё нормально с этим. Может быть попробовать поменять приоритет кампании в файле priority, в статье про mix-архив это подробнее описано.

23

» WarCraft 3 / Текстура молний

Похожие вопросы:

ответ
Да, но обычно в WME в редакторе узлов удаляется ненужные эффекты*скрин 1 и 2*. Если попробуешь убрать только текстуры*скрин 3* получится кубики вместо молнии*на скрине 4 видно*. Поэтому надо удалять эффекты.
Я удалил у модели эффекты, и загрузил , если надо .
ответ
Смотришь в слк файле код молнии и текстура.
Импортируешь все по нужным путям.
Потом вводишь код через шифт(это важно!) энтер в поле эффекты молний.
Если сделал все правильно, то появится текстовое поле, вместо того что обычно показывает РО.
Потом уже вводишь код молнии, а потом уже сохраняешь карту и проверяешь в игре.
Если молния отображается, значит все верно сделал.

23

» WarCraft 3 / Друг

Похожие вопросы:

ответ
pricoluwa, мб что-то неверно делаете? Это работает с обычной координатной плоскостью, кая используется в варе
ответ
Вот пример со всеми 12-ю игроками.
ответ
да
на 1 компе запускаем 1 карту
а на другом другую
и играем сразу за двумя компами
ответ
Каждый раз по прошествии этого самого определённого промежутка времени пикаешь (Отряд - Pick Every units...) нужных (всех?) тебе юнитов, при условии что они находятся в нужной области, а после мгновенно перемещаешь в другую область.
ответ
и перед этим всем действом надо вставить set bj_wantDestroyGroup = true чтоб группа не утекала

23

» WarCraft 3 / В чём ошибка?

Похожие вопросы:

ответ
Через что уничтожаешь? Если через килл, то конечно умирает и нейтральный.
  1. Если наносить от какого-то даммика урон в мильены, то не умрет нейтральный.
  2. Можно от даммика развеяние нежити за 0.01 сек.
  3. Заменять можно, внося значение золота в переменную и потом, создавая новый рудник, ставить количество золота в него из переменной, благо это даже в ГУИ реализовано.
ответ
Впервой вижу, чтоб так издевались над плавающем текстом...
Как пишет г-н Maniac_91, нет нужды в сохранении texttag, ибо при строчке
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 0.50 )
или (вариант получше)
call SetTextTagLifespan(GetLastCreatedTextTag(), 0.50)
Ваш texttag, как умненький мальчик, сам уберется, когда он сделал своё дело ;)
Правда есть один нюанс... Если Вы добавили строчку
call SetTextTagPermanent(GetLastCreatedTextTag(),true)
то этот мальчик будет стоять подле Вас до конца сабантуя и ждать команды на уничтожение ;)
ответ
печатать стену текста проще чем нажать принт скрин и прикепить скриншот?
явно же где то накосячили из-за невнимательности.
давайте договоримся, прежде чем создавать тему с нерабочим триггером вы проводите сами дебаг этого триггера, а затем уже если не поняли где ошибка, делаете вопрос
ответ
Так правильно всё, а GroupEnumUnitsInRange какой тип возвращает? правильно никакой, поэтому и ругается g ибо она null
ответ
Как выяснилось у Близард формат карт нормалей немного другой. Красный и зелёный канал поменяны местами, причём красный(который зелёный) ещё и инвертирован. Это и не OpenGL и не DirectX. Зачем они так сделали - вопрос открытый.

23

» WarCraft 3 / Экспорт\импорт

Похожие вопросы:

ответ
Как на скелет с анимациями натянуть это мясо ?
В статьях по моделлингу все изложено доступным языком, читаем и пробуем. xgm.guru/p/wc3/articles - Раздел 4.
ответ
А никакой тут проблемы нет, выбираешь нужную БЕ и CTRL + C, CTRL + V.
(Примечание: При CTRL + C - ты копируешь БЕ, при CTRL + V - вставляешь)
ответ
я могу попробовать написать программу, которая возьмет из wts перекинет строки в mapSkin

т.е в mapSkin изначально было вот так:
KEY_QUESTS=TRIGSTR_197

А в wts вот так:
STRING 197
{
Информация
}

В итоге в mapSkin станет вот так:
KEY_QUESTS=Информация

Но не раньше чем через 30/60 минут, я занят сейчас
ответ
~8gabriel8:
Что случилось-то? Одни и те же вопросы по 2-3 раза.
Вот есть программа xgm.guru/p/wc3/map-import-manager
ответ
Без бота через мемхак только

23

» WarCraft 3 / Проги с модельками

Похожие вопросы:

ответ
Сам MdlVis где лежит?
ответ
ответ
Satanugushka, в директории игры.
  • архивы открываются этим
  • тут более новая версия модел эдитора
Лучше не скачивать ПО с агрегаторов вроде playground.
ответ
~8gabriel8:
Если тебе нужно только вытащить файлы, то нужен CascView.

23

» WarCraft 3 / Агры юнитов

Похожие вопросы:

ответ
В общем что-то типа того
ответ
Пассивный инвиз с установленным временем перехода в невидимость -1.
ответ
Константа "Область зова на помощь" должна помочь. И дальность получения приказа у лагерей монстров можно понизить.
ответ
N7 Molot:
Потыкай в настройках констант, там есть радиус и прочее + получение приказа в РО. Если нужна прям своя система, напиши её.

23

» WarCraft 3 / Карта 1.31 в 1.26

Похожие вопросы:

ответ
Аналогично были вылеты, когда я работал с картами в кампании.
ответ
BartSi, очень странно.
Нашёл проблему. В редакторе ландшафта нужно выбрать Camera Palette (там где юниты, декорации и прочее) выбрать первую строчку (камера без имени) и удалить. Тогда проблема решится. Сбросил триггеры и удалил камеру.
Ошибка из-за того, что у камеры почему-то пустое имя. Из-за этого её переменная оканчивается на _, что нельзя в JASS.

BartSi, каким конвертером 1.31 -> 1.26 пользовался?

Hodor, твой конвертер случайно не шаманит с камерами?
ответ
Можно попробовать достать актуальный TriggerData.txt, дополнить его UMSWE триггерами и скормить редактору включив локальные файлы. Но я не гарантирую работоспособность этого метода.
Также есть небольшой шанс что в рефорже будет способ подсунуть редактору TriggerData.txt без локальных файлов, но сильно на это рассчитывать не стоит.
ответ
Razor_dex, сконвертируй карту, потом открой в стандартном 1.26 редакторе, удали комментарий Рок Лии\Otome Renge
Для гуи-гигантов это типичная болячка, просто битый комментарий который содержит в себе информацию о нескольких действиях, считай как обычный триггер только отображается как комментарий
Возникает такое скорее всего при копировании

P.S. странно что редакторы до 1.31 не обращают внимания на такой баг
ответ
Возможно проблема в способностях или строках, близзарды че только не сломали и нужно ждать стабильной версии игры где вылечат 99% глюков, багов и завезут максимальную совместимость со старыми картами.

23

» WarCraft 3 / Не отображается бафф

Похожие вопросы:

ответ
lll_Kirito_lll, тут задают вопросы касательно того что делается в ве
в данном случае это твой проект и в нём ошибка
а так как телепатов тут нету то нужен проект
в общем либо карту либо клоз тему
надоели уже
ведёте сверхсекретные разработки и просите исправить ваши ошибки не трогая ваши карты
как мы это должны сделать?
магией?
или помолится богу чтобы он исправил
или ему тоже нельзя к вашему проекту прикасаться?
ставлю 100$ что ничего круче нубских триггеров там нету
поправка
учитывая предыдущие вопросы и комментарии афтара ставлю 200$
ответ
локальный - на машине конкретного юзера, не путать с mui/mpi (муи - действует для каждого юнита, mpi - для каждого игрока)
все баффы будут действовать, хоть их там будет штук 100 (хотя я столько еще не вешал)
тоже самое касается и тригго баффов, которые легко реализовать с помощью запрещенного спеллбука и как сказал quq_CCCP - таймера
даже если бафф не отображается, но его точно вешали на юнита - система его найдет
а если ты пытаешься сделать бафф Palus Knight из Lineage II - поиграйся с отрицательным по урону берсерком (где кстати есть и скорость бега), или со спеллом свитка скорости
хотя легче будет просто обложить юнита блокираторами прохода на время действия, потому что полную остановку сделать без костылей не удастся
ответ
quq_CCCP, т.к. не триггерно эффект накладывается то скорее всего проблема не в дровах
LainMikoroso, кинь j файл карты (естественно с убранным удалением эффекта)
существует вероятность что в карте где то есть дефайны либо криво компилится
ответ
Я пару лет назад брал форму ворона и крепил к ее крыльям дефолтный эффект "снаряд башни нежети". Все работало прекрасно.
ответ
Некоторые вещи сделаны хардкодно, у огненого столба скорее всего тоже дебафф и его параметры не меняются, или меняются только у оригинала.
Близзарды много где так схалтурили, у аватара бафф нельзя настроить, хоть ты лопни, оно прописано в коде брать бафф 'BHav' и точка. У техники в баффе шипы неруба, и их тоже не убрать, только dummy.mdx подсунуть на их место.

23

» Моддинг / Текстуры

Похожие вопросы:

ответ
воть сделал
анимки Death, Decay, звуки атаки и смерти от стрелка
Update: качай архив Marine2, неправильно работало разложение в архиве Marine а файл из комента не удаляется

23

» WarCraft 3 / Не стакается

Принятый ответ
Похожие вопросы:

ответ
Яд стрелы, стакаются (в основном с разным баффом) не снимаются спеллами типа - рассеять чары.
Не деспелятся баффы всех аур, бафф ANdo, а так же бафф Afrz.
ответ
~16GB:
JackFastGame,
оно не работает, придётся делать много уровневую абилку во всеми вариантами скорости, и самом у подсчитывать её
ответ
Потому что предмет сначала удаляется. Его больше нет в слоте.
А потом спрашивается, сколько зарядов у предмета в слоте. Но там вообще нет предмета.

23

» WarCraft 3 / Локальная переменная

Похожие вопросы:

ответ
вопрос, ответ на который есть в базе статей
ответ
Локальные переменные нельзя использовать в GUI'шных "if then else", карта просто не запустится
Т.к если GUI'шные "if then else" перевести в jass, то будет функция с действиями триггера, а чуть выше функция с условиями этого же "if then else".
А в этом и прикол локальных переменных, их можно использовать только в пределах функции в которой они были вызваны (созданы).
И лучше начни писать на jass, он легкий, хоть и кажется сложным после GUI
К примеру такие задачи на GUI которые буквально голову ломают - на jass делаются достаточно легко и быстро
дабы избежать конфликтов с многократными использованием
это будет проблематично на GUI
Поэтому лучше не парить голову этим, а почитать эти материалы:
ответ
TeX13, ненадо писать на гуи и плодить триггеры, у вас забита инит функция и происходит обрыв потока.
ответ
XGM Bot:
Похожие вопросы:

ответ
Хэш таблица. Удобна и практична. Кстати, не забудь создать глобальную переменную Hash, типа хэш-таблица и при инициализации карты инициализировать Hash, иначе не будет работать.
function Trig_HealImp_Timer takes nothing returns nothing 
     local timer t = GetExpiredTimer() 
     local integer hid = GetHandleId(t) 
     local unit caster = LoadUnitHandle(udg_Hash, hid, 0) //Наш юнит хранится по ссылке "0", вытаскиваем его, чтобы с ним работать
     local integer i = LoadInteger(udg_Hash, hid, 1)  //Счетчик
    local real hp1 = GetUnitState(caster, ConvertUnitState(0)) //текущее здоровье
    local real hp = GetUnitState(caster, ConvertUnitState(1)) //максимальное здоровье
    local real chp = (hp/100)*0.8 //значение, на которое лечим юнит
     if i != 50 then //Срабатывание таймера 0,1. Так как длительность лечения составляет 5 сек, то таймер должен сработать 50 раз. Кстати, исходя из этого, высчитываем chp.
          set i = i + 1 //Увеличиваем значение счетчика
          call SetUnitState(caster, ConvertUnitState(0), hp1+chp) //лечим юнит
          call SaveInteger(udg_Hash, hid, 1, i) //Сохраняем новое значение счетчика. Если этого не будет, счетчик вечно будет равен 0.
     else //Когда счетчик равен 50, мы останавливаем таймер и чистим Хэш
         call PauseTimer(t) 
         call DestroyTimer(t) 
         call FlushChildHashtable(udg_Hash, hid) 
     endif 
     set t=null
     set caster = null 
endfunction 

function Trig_HealImp_Actions takes nothing returns nothing
    local timer t = CreateTimer()  //Таймер
     local integer hid = GetHandleId(t) )  //Id таймера
     local unit caster =GetTriggerUnit() //юнит, который мы будем лечить, по факту тот, кто активировал способность
     call SaveUnitHandle(udg_Hash, hid, 0, caster) //сохраняем в Хэш юнит caster с ссылкой "0".
     call SaveInteger(udg_Hash, hid, 1, 0) //сохраняем значение 0 с ссылкой "1". Это будет счетчик длительности лечения.
     call TimerStart(t, 0.1, true, function Trig_HealImp_Timer) //запускаем таймер. 
     set t = null  
     set caster = null 
endfunction
ответ
Конечно - глобальные переменные, хештаблицы, все функции Get в соответствующих потоках.
ответ
всегда по ссылке для handle-типов, всегда по значению для остальных
изменить это невозможно
никак, использовать глобалку, куда сохранять локалку перед нулением
нет, нету
ну или аналоги всего этого есть в продвинутых редакторах, не знаю, пусть те, кто ими пользуются, скажут

ответ
на жассе - глобальный массив, если таймер один или хештаблица если таких таймеров много
на Lua в 1.31 - есть более удобные способы